var sourcesite = function() {

	//private properties
	var emptyFunction = function() {};

	// public properties
	return {
		sitename: "notset",
		stockname: "notset",
		locale: null,
		getName: emptyFunction,
		getLatest: emptyFunction,
		getOpen: emptyFunction,
		getChange: emptyFunction,
		getLow: emptyFunction,
		getHigh: emptyFunction,
		getVol: emptyFunction,
		getBuy: emptyFunction,
		getSell: emptyFunction,
		createParams: emptyFunction,

		/**
		 * sets public fields with the information retrived from html parse.
		 *
		 * @param responseText is XMLHttpRequest.responseText
		 *
		 * @return a map of CurVal (current value of share), Open
         *  (opened value), Low (lowest value of day), High (highest
         *  value of day), Vol (transaction volume) values.
		 */
		getStock: function(responseText) {
			return {
				Name: this.getName(responseText),
				Latest: this.getLatest(responseText),
				Open: this.getOpen(responseText),
				Change: this.getChange(responseText),
				Low: this.getLow(responseText),
				High: this.getHigh(responseText),
				Vol: this.getVol(responseText),
				Buy: this.getBuy(responseText),
				Sell: this.getSell(responseText)
			};
		}
	}
}()